// You should have received a copy of the GNU General Public License
// along with TFT_4DGL.  If not, see <http://www.gnu.org/licenses/>.

#ifndef Bike_Display_Bitmap_Definitions_H_
#define Bike_Display_Bitmap_Definitions_H_

// Address value for Images stored on RAW part of uSD card
//large numbers 60x75 pixel BMPs
//RED
#define ZEROLARGERED        0x0F2301
#define ONELARGERED         0x0F2313
#define TWOLARGERED         0x0F2325
#define THREELARGERED       0x0F2337
#define FOURLARGERED        0x0F2349
#define FIVELARGERED        0x0F235B
#define SIXLARGERED         0x0F236D
#define SEVENLARGERED       0x0F237F
#define EIGHTLARGERED       0x0F2391
#define NINELARGERED        0x0F23A3
//GREEN
#define ZEROLARGEGREEN      0x0F23B5
#define ONELARGEGREEN       0x0F23C7
#define TWOLARGEGREEN       0x0F23D9
#define THREELARGEGREEN     0x0F23EB
#define FOURLARGEGREEN      0x0F23FD
#define FIVELARGEGREEN      0x0F240F
#define SIXLARGEGREEN       0x0F2421
#define SEVENLARGEGREEN     0x0F2433
#define EIGHTLARGEGREEN     0x0F2445
#define NINELARGEGREEN      0x0F2457
//BLUE
#define ZEROLARGEBLUE       0x0F2469
#define ONELARGEBLUE        0x0F247B
#define TWOLARGEBLUE        0x0F248D
#define THREELARGEBLUE      0x0F249F
#define FOURLARGEBLUE       0x0F24B1
#define FIVELARGEBLUE       0x0F24C3
#define SIXLARGEBLUE        0x0F24D5
#define SEVENLARGEBLUE      0x0F24E7
#define EIGHTLARGEBLUE      0x0F24F9
#define NINELARGEBLUE       0x0F250B

//medium numbers 40x50 pixel BMPs
//RED
#define ZEROMEDIUMRED       0x0F251D
#define ONEMEDIUMRED        0x0F2525
#define TWOMEDIUMRED        0x0F252D
#define THREEMEDIUMRED      0x0F2535
#define FOURMEDIUMRED       0x0F253D
#define FIVEMEDIUMRED       0x0F2545
#define SIXMEDIUMRED        0x0F254D
#define SEVENMEDIUMRED      0x0F2555
#define EIGHTMEDIUMRED      0x0F255D
#define NINEMEDIUMRED       0x0F2565
//GREEN
#define ZEROMEDIUMGREEN     0x0F256D
#define ONEMEDIUMGREEN      0x0F2575
#define TWOMEDIUMGREEN      0x0F257D
#define THREEMEDIUMGREEN    0x0F2585
#define FOURMEDIUMGREEN     0x0F258D
#define FIVEMEDIUMGREEN     0x0F2595
#define SIXMEDIUMGREEN      0x0F259D
#define SEVENMEDIUMGREEN    0x0F25A5
#define EIGHTMEDIUMGREEN    0x0F25AD
#define NINEMEDIUMGREEN     0x0F25B5
//BLUE
#define ZEROMEDIUMBLUE      0x0F25BD
#define ONEMEDIUMBLUE       0x0F25C5
#define TWOMEDIUMBLUE       0x0F25CD
#define THREEMEDIUMBLUE     0x0F25D5
#define FOURMEDIUMBLUE      0x0F25DD
#define FIVEMEDIUMBLUE      0x0F25E5
#define SIXMEDIUMBLUE       0x0F25ED
#define SEVENMEDIUMBLUE     0x0F25F5
#define EIGHTMEDIUMBLUE     0x0F25FD
#define NINEMEDIUMBLUE      0x0F2605

//small numbers 20x30 pixel BMPs
//RED
#define ZEROSMALLRED        0x0F260D
#define ONESMALLRED         0x0F2610
#define TWOSMALLRED         0x0F2613
#define THREESMALLRED       0x0F2616
#define FOURSMALLRED        0x0F2619
#define FIVESMALLRED        0x0F261C
#define SIXSMALLRED         0x0F261F
#define SEVENSMALLRED       0x0F2622
#define EIGHTSMALLRED       0x0F2625
#define NINESMALLRED        0x0F2628
#define DPSMALLRED          0x0F2684
//GREEN
#define ZEROSMALLGREEN      0x0F262B
#define ONESMALLGREEN       0x0F262E
#define TWOSMALLGREEN       0x0F2631
#define THREESMALLGREEN     0x0F2634
#define FOURSMALLGREEN      0x0F2637
#define FIVESMALLGREEN      0x0F263A
#define SIXSMALLGREEN       0x0F263D
#define SEVENSMALLGREEN     0x0F2640
#define EIGHTSMALLGREEN     0x0F2643
#define NINESMALLGREEN      0x0F2646
#define DPSMALLGREEN        0x0F2685
//BLUE
#define ZEROSMALLBLUE       0x0F2649
#define ONESMALLBLUE        0x0F264C
#define TWOSMALLBLUE        0x0F264F
#define THREESMALLBLUE      0x0F2652
#define FOURSMALLBLUE       0x0F2655
#define FIVESMALLBLUE       0x0F2658
#define SIXSMALLBLUE        0x0F265B
#define SEVENSMALLBLUE      0x0F265E
#define EIGHTSMALLBLUE      0x0F2661
#define NINESMALLBLUE       0x0F2664
#define DPSMALLBLUE         0x0F2686
#define MINUSSMALLBLUE      0x0F2687

//Black areas to blank out leading zeros
#define BLANKLARGE          0x0F2667
#define BLANKMEDIUM         0x0F2679
#define BLANKSMALL          0x0F2681

//Unit used for what is displayed
//RED
#define UNITREDDEGCELCIUS   0x0F2689
#define UNITREDMPH          0x0F2692
#define UNITREDKMH          0x0F269E
#define UNITREDRPM          0x0F26B2
#define UNITREDVOLTAGE      0x0F26C4
#define UNITREDPERCENT      0x0F2977
//GREEN
#define UNITGREENDEGCELCIUS 0x0F268C
#define UNITGREENMPH        0x0F2698
#define UNITGREENKMH        0x0F26A4
#define UNITGREENMILES      0x0F26AA
#define UNITGREENKM         0x0F26AE
#define UNITGREENRPM        0x0F26B8
#define UNITGREENVOLTAGE    0x0F26C7
#define UNITGREENPERCENT    0x0F297A
//BLUE
#define UNITBLUEDEGCELCIUS  0x0F268F
#define UNITBLUERPM         0x0F26BE
#define UNITBLUEVOLTAGE     0x0F26CA
#define UNITBLUEPERCENT     0x0F297D

//Icons used as Indicators for what is displayed
//RED
#define ICONREDBATTERIE     0x0F26CD
#define ICONREDCOOLANT      0x0F26DC
#define ICONREDENGINE       0x0F26EB
#define ICONREDOILCAN       0x0F26FA
#define ICONREDFUELLOW      0x0F2709
#define ICONREDTPS          0x0F2968
//GREEN
#define ICONGREENBATTERIE   0x0F26D2
#define ICONGREENCOOLANT    0x0F26E1
#define ICONGREENENGINE     0x0F26F0
#define ICONGREENOILCAN     0x0F26FF
#define ICONGREENTPS        0x0F296D
//BLUE
#define ICONBLUEBATTERIE    0x0F26D7
#define ICONBLUECOOLANT     0x0F26E6
#define ICONBLUEENGINE      0x0F26F5
#define ICONBLUEOILCAN      0x0F2704
#define ICONBLUETPS         0x0F2972

//Full screen bitmaps
#define SPLASHSCREEN        0x0F270E
#define SELECTIONGRID       0x0F283B

//REV BAR 32 bmps 
#define REVBARSTART         0x0F2980
#define REVBARADDRINC       0x26
#define REVBARBITMAPS       32

#define SMALL               0
#define MEDIUM              1
#define LARGE               2

typedef enum
{
    REDTEXT,
    GREENTEXT,
    BLUETEXT
} display_colour; 

typedef enum
{
    TOPLEFT1,
    TOPLEFT2,
    TOPLEFT3,
    TOPRIGHT,
    BOTTOM
} screen_position;

int nSmallFont[3][12];
int nMediumFont[3][12];
int nLargeFont[3][12];

#endif
